home *** CD-ROM | disk | FTP | other *** search
/ HPAVC / HPAVC CD-ROM.iso / SOURCE.ZIP / SCRN4.ASM < prev    next >
Assembly Source File  |  1987-03-20  |  1KB  |  55 lines

  1.     TITLE    scrn4.asm
  2.  
  3. ;    AUTHOR    Tim Spencer - Compuserve [73657,1400]
  4. ;    DATE    March 19, 1987
  5.     
  6. _TEXT     SEGMENT BYTE PUBLIC 'CODE'
  7. _TEXT    ENDS
  8.  
  9. _DATA     SEGMENT WORD PUBLIC 'DATA'
  10. _DATA    ENDS
  11.  
  12. DGROUP    GROUP _DATA
  13.     ASSUME CS:_TEXT, DS:DGROUP, SS:DGROUP, ES:NOTHING
  14.  
  15.  
  16. _TEXT    SEGMENT BYTE PUBLIC 'CODE'
  17.  
  18. ;-----------------------------------------------------------------------;
  19. ; vcard_type - Tests for type of video card in use            ;
  20. ;                                    ;
  21. ; Returns:     0    =    MONOCHROME ADAPTER            ;
  22. ;        1    =    COLOR GRAPHICS ADAPTER            ;
  23. ;        2    =    ENHANCED GRAPHICS ADAPTER        ;
  24. ;-----------------------------------------------------------------------;
  25.  
  26.     PUBLIC _vcard_type
  27.  
  28. _vcard_type    PROC    NEAR
  29.     push    es
  30.     mov    ax,40h            ; point es to BIOS area
  31.     mov    es,ax
  32.     mov    al,es:[87h]        ; is there an EGA card?
  33.     cmp    al,0
  34.     je    mono_test        ; no ega, check for mono
  35.     test    al,00001000b        ; test bit 3
  36.     jnz    mono_test        ; bit 3 was set - ega not active card
  37.     mov    ax,2            ; ega is in use...return a 2 
  38.     jmp    short exit
  39. mono_test:
  40.     mov    al,es:[10h]        ; get video status byte
  41.     and    al,00110000b        ; isolate bits 4 and 5
  42.     cmp    al,48            ; is it a mono card?
  43.     jne    assume_cga        ; no, assume it's a cga
  44.     mov    ax,0            ; return 0 for mono card
  45.     jmp    short exit
  46. assume_cga:
  47.     mov    ax,1            ; return a 1 for cga card
  48. exit:    pop    es
  49.     ret
  50. _vcard_type    ENDP
  51.  
  52. _TEXT    ENDS
  53.  
  54.     END
  55.